package com.face.gaoml.netlibrary.data.rusult;



import com.face.gaoml.netlibrary.data.exception.ApiErrorCode;
import com.face.gaoml.netlibrary.data.exception.ApiErrorHelper;
import com.face.gaoml.netlibrary.data.exception.ApiException;
import com.face.gaoml.netlibrary.utils.Util;

import rx.Subscriber;

/**
 * Created by gml on 16/12/9.
 */

/**
 * 统一处理返回数据的 不正确情况   提示
 *
 * @param <T> 期望类型
 */

public class BaseSubscriber<T> extends Subscriber<T> {


    @Override
    public void onStart() {
        /***
         * 请求开始之前，检查是否有网络。无网络直接抛出异常
         * 另外，在你无法确定当前代码运行在什么线程的时候，不要将UI的相关操作放在这里。
         **/
        if (!Util.isNetworkAvailable()) {
            this.onError(new ApiException(ApiErrorCode.ERROR_NO_INTERNET, "请检查网络连接！"));
            return;
        }

    }


    @Override
    public void onCompleted() {
    }

    @Override
    public void onError(Throwable e) {
        new ApiErrorHelper().handleCommonError(e);
    }

    @Override
    public void onNext(T t) {

    }


}